package kgame5.kgu.move.cd {
import kgame5.k3d.core.obj3d.hardvo.HardVO;

/*
 * z
 * |
 * |
 * O-----x
 * 边界盒子，用来检测某个hardVO是否在范围内
 * 
 * 注意这个的值最好是整数，不要有小数。！
 */
public class BoxBound2D {
	
	//中心点
	public var x:int;
	public var z:int;
	
//	public function BoxBound2D(x:int,z:int,w:int,h:int){
//		
//	}
	
	public var up:int;
	public var down:int;
	public var left:int;
	public var right:int;

	//检测一个hardVO是否在此象限
	public function contains(vo:HardVO):Boolean{
		return this._contains2(vo.v3d_p.x, vo.v3d_p.z, vo.aabb.A, vo.aabb.B);
	}
	
	//这个检测一个hardVO是否被包含在里面
	private function _contains2(_x:int,_z:int,A:int,B:int):Boolean{
		var A2:int=A>>1;
		var B2:int=B>>1;
		
		//目标盒子尺寸
		var _left:int=_x-A2;
		var _right:int=_x+A2;
		var _up:int=_z+B2;
		var _down:int=_z-B2;
		
		if(_left<left ||_right>right||_up>up||_down<down){
			return false;
		}
		return true;
	}
	
	
}
}
